package com.settlement.system.service;

import com.settlement.system.model.entity.SysVoucher;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.settlement.system.model.query.SysVoucherItemQuery;
import com.settlement.system.model.query.SysVoucherQuery;
import com.settlement.system.model.form.SysVoucherForm;
import com.settlement.system.model.vo.SysVoucherImportVo;
import com.settlement.system.model.vo.SysVoucherItemVo;

import java.util.List;

/**
 * <p>
 * 凭证主表 服务类
 * </p>
 *
 * @author huangrensen
 * @since 2024-08-26
 */
public interface SysVoucherService extends IService<SysVoucher> {

    Page<SysVoucher> getPage(SysVoucherQuery queryParams);

    boolean saveSysVoucher(SysVoucherForm sysVoucherForm);

    SysVoucherForm getSysVoucherFormData(Long id);

    boolean deleteSysVoucher(String ids);

    void importData(List<SysVoucherImportVo> importVos);

    List<SysVoucherImportVo> findByIds(String idsStr);

    void generate(String month, String companyCode);

    List<SysVoucherImportVo> findByMonth(String voucherYear, String voucherMonth);

    Page<SysVoucherItemVo> getItems(Long voucherId, SysVoucherItemQuery queryParams);
}
